xen.git
20 years agoFix suspend/resume for domains with devices which are in xenstore but have no xenbus...
cl349@firebug.cl.cam.ac.uk [Fri, 19 Aug 2005 13:05:31 +0000 (13:05 +0000)]
Fix suspend/resume for domains with devices which are in xenstore but have no xenbus aware driver.
Information about network devices is stored in xenstore.  Xenbus creates
device objects for these devices but the network driver doesn't support
finding devices over xenbus yet and thus these devices have no driver.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agomerge?
cl349@firebug.cl.cam.ac.uk [Fri, 19 Aug 2005 12:22:27 +0000 (12:22 +0000)]
merge?

20 years agoAdd very rough xend support for xenbus block device setup.
cl349@firebug.cl.cam.ac.uk [Fri, 19 Aug 2005 12:21:29 +0000 (12:21 +0000)]
Add very rough xend support for xenbus block device setup.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoFix driver to work with updated probe driver.
cl349@firebug.cl.cam.ac.uk [Fri, 19 Aug 2005 12:14:41 +0000 (12:14 +0000)]
Fix driver to work with updated probe driver.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoSwitch block device setup/teardown over to xenbus/xenstore.
cl349@firebug.cl.cam.ac.uk [Fri, 19 Aug 2005 12:13:31 +0000 (12:13 +0000)]
Switch block device setup/teardown over to xenbus/xenstore.
Remove device probing support over the device channel.
g/c all the control message code.
Simplify and cleanup internal function calling code (explicit arguments
instead of passing structs around).
Also includes:
Changed "readonly" to "read-only". "backend" is still not hyphenated, but
that seems to be fairly common usage.
Block backends use xenbus_dev_error, making debugging nicer.
The block front end is told explicitly what domid to use to talk to the
backend. There's speculation that fake domid-like tokens may be given
for cluster purposes in future, so deriving from the backend dir name is
not guaranteed to work. Backends still derive front-end ids, using a
xenbus helper (xenbus_uuid_to_domid).
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agouse "vbd" as driver name for blkfront devices, not "blkfront".
cl349@firebug.cl.cam.ac.uk [Fri, 19 Aug 2005 10:59:47 +0000 (10:59 +0000)]
use "vbd" as driver name for blkfront devices, not "blkfront".
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoAdd support for multiple devices when using grant tables.
cl349@firebug.cl.cam.ac.uk [Fri, 19 Aug 2005 10:47:48 +0000 (10:47 +0000)]
Add support for multiple devices when using grant tables.
Also better support non-transactional store updates.
Also remove some extra printks.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoSwitch block device setup/teardown over to xenbus/xenstore.
cl349@firebug.cl.cam.ac.uk [Fri, 19 Aug 2005 10:46:21 +0000 (10:46 +0000)]
Switch block device setup/teardown over to xenbus/xenstore.
Remove device probing support over the device channel.
g/c all the control message code.
Simplify and cleanup internal function calling code (explicit arguments
instead of passing structs around).
Also includes:
Changed "readonly" to "read-only". "backend" is still not hyphenated, but
that seems to be fairly common usage.
Block backends use xenbus_dev_error, making debugging nicer.
The block front end is told explicitly what domid to use to talk to the
backend. There's speculation that fake domid-like tokens may be given
for cluster purposes in future, so deriving from the backend dir name is
not guaranteed to work. Backends still derive front-end ids, using a
xenbus helper (xenbus_uuid_to_domid).
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoThe entire swiotlb aperture does not need to be contiguous.
kaf24@firebug.cl.cam.ac.uk [Fri, 19 Aug 2005 09:42:12 +0000 (09:42 +0000)]
The entire swiotlb aperture does not need to be contiguous.
Only individual aligned SEGSIZE blocks need to be contiguous.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoBy default, pre-reserve some memory in Xen that is not allocated
kaf24@firebug.cl.cam.ac.uk [Fri, 19 Aug 2005 09:36:12 +0000 (09:36 +0000)]
By default, pre-reserve some memory in Xen that is not allocated
to domain 0 (1/16th available memory, up to 128MB maximum).
Also, extend dom0_mem boot parameter to accept negative values.
A negative value means "allocate all memory, minus the specified
amount".

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoDefault unit for all Xen memory parameters is kilobytes.
kaf24@firebug.cl.cam.ac.uk [Fri, 19 Aug 2005 09:16:56 +0000 (09:16 +0000)]
Default unit for all Xen memory parameters is kilobytes.
Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoThe patch allows x86_64 SMP Xen/XenLinux (dom0) to run on relatively big
kaf24@firebug.cl.cam.ac.uk [Fri, 19 Aug 2005 09:05:04 +0000 (09:05 +0000)]
The patch allows x86_64 SMP Xen/XenLinux (dom0) to run on relatively big
SMP machines.
I tested on an 8-way machine with 8GB. It looks stable as far as I did
sanity checks, such as an infinite loop of "make -j32"; it's very fast!.

Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
20 years agoThis patch:
kaf24@firebug.cl.cam.ac.uk [Fri, 19 Aug 2005 09:03:17 +0000 (09:03 +0000)]
This patch:

* adds a C-based security policy translation tool to Xen (secpol_xml2bin)
and removes the current Java
security policy translator (Java dependencies).  The C-based tool
integrates into the Xen source tree build
and install (using gnome libxml2 for XML parsing). See install.txt.

* introduces security labels and related tools. Users can now use
semantic-rich label names to put security-tags
on domains. See example.txt, policy.txt.

* moves the security configuration (currently ACM_USE_SECURITY_POLICY)
from xen/Rules.mk
into a separate top-level Security.mk file  (it is needed by the
tools/security and xen/acm).

Both xen/acm and tools/security are built during the Xen build process
only if ACM_USE_SECURITY_POLICY
is not ACM_NULL_POLICY (which is the default setting).

Signed-off-by Reiner Sailer <sailer@us.ibm.com>
Signed-off by Stefan Berger <stefanb@us.ibm.com>
Signed-off by Ray Valdez <rvaldez@us.ibm.com>

20 years agoThis patch provides a workaround for bugzilla #90 which shows up far too
kaf24@firebug.cl.cam.ac.uk [Fri, 19 Aug 2005 08:55:03 +0000 (08:55 +0000)]
This patch provides a workaround for bugzilla #90 which shows up far too
often when creating and then destroying lots of domUs and dom0 is SMP.
Details are in the [1]bug.  With this patch, I now can create/destroy
domains in a tight loop for hours where previously every 3 to 10 cycles
would blow up.

1. http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=90

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
20 years agoProleptic xend bug fix for multi-sxp messages; stricly more robust than before.
smh22@firebug.cl.cam.ac.uk [Fri, 19 Aug 2005 02:41:16 +0000 (02:41 +0000)]
Proleptic xend bug fix for multi-sxp messages; stricly more robust than before.

Signed-off-by: Steven Hand <steven@xensource.com>
20 years agoRemove support for xenbus driver subtypes since with the subtype field there's no...
cl349@firebug.cl.cam.ac.uk [Thu, 18 Aug 2005 19:51:46 +0000 (19:51 +0000)]
Remove support for xenbus driver subtypes since with the subtype field there's no fallback.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoAdd support to xenbus_gather to scan for strings and return them in allocated memory.
cl349@firebug.cl.cam.ac.uk [Thu, 18 Aug 2005 19:24:42 +0000 (19:24 +0000)]
Add support to xenbus_gather to scan for strings and return them in allocated memory.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoGet rid of xenbus_uuid_to_domid - get the frontend id from the node.
cl349@firebug.cl.cam.ac.uk [Thu, 18 Aug 2005 19:21:09 +0000 (19:21 +0000)]
Get rid of xenbus_uuid_to_domid - get the frontend id from the node.
We don't want to parse paths we read out of the store to _construct_
other paths and tie down the store layout for no good reason.
Also require the frontend path to exist and be valid before creating
the device.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoLet dev_changed detect devices when a watch fires with a longer node name.
cl349@firebug.cl.cam.ac.uk [Thu, 18 Aug 2005 19:15:22 +0000 (19:15 +0000)]
Let dev_changed detect devices when a watch fires with a longer node name.
Also improve device cleanup when the dir for a while frontend domain
is removed.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoFree memory returned from xenbus_directory call.
cl349@firebug.cl.cam.ac.uk [Thu, 18 Aug 2005 19:08:09 +0000 (19:08 +0000)]
Free memory returned from xenbus_directory call.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoDon't free subtype field unconditionally.
cl349@firebug.cl.cam.ac.uk [Thu, 18 Aug 2005 19:07:29 +0000 (19:07 +0000)]
Don't free subtype field unconditionally.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoGet device when we find it - fixes refcount leak and is correct.
cl349@firebug.cl.cam.ac.uk [Thu, 18 Aug 2005 19:06:51 +0000 (19:06 +0000)]
Get device when we find it - fixes refcount leak and is correct.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoCreate devices for the xenbus-bus's.
cl349@firebug.cl.cam.ac.uk [Thu, 18 Aug 2005 19:04:47 +0000 (19:04 +0000)]
Create devices for the xenbus-bus's.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoRename bus names from xenbus* to xen*.
cl349@firebug.cl.cam.ac.uk [Thu, 18 Aug 2005 19:01:09 +0000 (19:01 +0000)]
Rename bus names from xenbus* to xen*.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoMake probe less chatty.
cl349@firebug.cl.cam.ac.uk [Thu, 18 Aug 2005 18:56:47 +0000 (18:56 +0000)]
Make probe less chatty.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agomerge?
cl349@firebug.cl.cam.ac.uk [Thu, 18 Aug 2005 18:55:13 +0000 (18:55 +0000)]
merge?

20 years agoUpdate probe code for backend layout.
cl349@firebug.cl.cam.ac.uk [Thu, 18 Aug 2005 18:54:38 +0000 (18:54 +0000)]
Update probe code for backend layout.
Backend directories are of form backend/<type>/<frontend-uuid>/<id>.
This extra level makes an asymmetry with front ends (device/type/id) and
are too long to make nice bus-ids under Linux, but the code isn't too
horrible, and an OS which only wants to be a guest doesn't need to implement
it. It allows backends to calculate the front-end path directly, which
is a nice benefit.
Also: subtype matching is tightened: they must match exactly. That way a future
variant which requires a specific driver will not match current drivers.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoMake sure to cmpxchg entire pte on emulated ptwr path.
kaf24@firebug.cl.cam.ac.uk [Thu, 18 Aug 2005 18:17:08 +0000 (18:17 +0000)]
Make sure to cmpxchg entire pte on emulated ptwr path.
Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix emulated writable pagetable updates where access is
kaf24@firebug.cl.cam.ac.uk [Thu, 18 Aug 2005 18:02:46 +0000 (18:02 +0000)]
Fix emulated writable pagetable updates where access is
less than a full pte and operation requires cmpxchg.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix direct_remap_area_pages() to handle pagetables
kaf24@firebug.cl.cam.ac.uk [Thu, 18 Aug 2005 17:46:26 +0000 (17:46 +0000)]
Fix direct_remap_area_pages() to handle pagetables
above 4GB.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix __get_user() and friends to work correctly for
kaf24@firebug.cl.cam.ac.uk [Thu, 18 Aug 2005 17:04:48 +0000 (17:04 +0000)]
Fix __get_user() and friends to work correctly for
64-bit quantities on x86/32. Should fix writable
pagetables on PAE.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoClean up bootmem initialisation for x86/64. Question still
kaf24@firebug.cl.cam.ac.uk [Thu, 18 Aug 2005 16:04:00 +0000 (16:04 +0000)]
Clean up bootmem initialisation for x86/64. Question still
remains over why boot fails if we try to free up the bottom
1MB of pseudophysical memory...

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix Xen patches to Linux so that they use pfn_pte() and
kaf24@firebug.cl.cam.ac.uk [Thu, 18 Aug 2005 15:01:03 +0000 (15:01 +0000)]
Fix Xen patches to Linux so that they use pfn_pte() and
pfn_pte_ma() constructors, rather than splicing together
ptes manually. Not only is this cleaner, it also ensures
that the NX/XD bit is safely masked off on systems that do
not support it.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoTiny formatting tweak in addition to previous changeset.
kaf24@firebug.cl.cam.ac.uk [Thu, 18 Aug 2005 14:33:21 +0000 (14:33 +0000)]
Tiny formatting tweak in addition to previous changeset.

20 years agoClean up formatting of Xen crash messages.
kaf24@firebug.cl.cam.ac.uk [Thu, 18 Aug 2005 14:26:36 +0000 (14:26 +0000)]
Clean up formatting of Xen crash messages.
Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoAdd SK98LIN driver to default -xen0 Linux configs.
iap10@freefall.cl.cam.ac.uk [Thu, 18 Aug 2005 14:18:15 +0000 (14:18 +0000)]
Add SK98LIN driver to default -xen0 Linux configs.
Signed-off-by: ian@xensource.com
20 years agoMake antispoof default to 'no' in network-script as the default in xend is 'no'....
iap10@freefall.cl.cam.ac.uk [Thu, 18 Aug 2005 14:17:22 +0000 (14:17 +0000)]
Make antispoof default to 'no' in network-script as the default in xend is 'no'. Having them different only causes confusion.

Signed-off-by: ian@xensoure.com
20 years agofail nicely when passing unknown option to xm list
vh249@arcadians.cl.cam.ac.uk [Thu, 18 Aug 2005 11:45:54 +0000 (11:45 +0000)]
fail nicely when passing unknown option to xm list

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
20 years agoFix range_straddles_boundary() check to exclude regions that
kaf24@firebug.cl.cam.ac.uk [Thu, 18 Aug 2005 10:41:55 +0000 (10:41 +0000)]
Fix range_straddles_boundary() check to exclude regions that
were allocated with xen_create_contiguous_region(). Such areas
do not require bounce buffers (swiotlb).

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoEnable IP_PNP support in 64bit domU (needed for xm ip= etc.)
jrb44@plym.cl.cam.ac.uk [Thu, 18 Aug 2005 10:22:08 +0000 (10:22 +0000)]
Enable IP_PNP support in 64bit domU (needed for xm ip= etc.)

Signed-off-by: James Bulpin <james@xensource.com>
20 years agoFix the SWIOTLB to correctly match on bus addresses.
kaf24@firebug.cl.cam.ac.uk [Thu, 18 Aug 2005 09:47:04 +0000 (09:47 +0000)]
Fix the SWIOTLB to correctly match on bus addresses.
Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agofail domU creation if memory need couldn't be succeed after ballooning out dom0
vh249@arcadians.cl.cam.ac.uk [Thu, 18 Aug 2005 01:13:49 +0000 (01:13 +0000)]
fail domU creation if memory need couldn't be succeed after ballooning out dom0

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
20 years agoEnable MATCH_PHYSDEV netfilter support as a module.
iap10@freefall.cl.cam.ac.uk [Wed, 17 Aug 2005 23:11:56 +0000 (23:11 +0000)]
Enable MATCH_PHYSDEV netfilter support as a module.
Signed-off-by: iab@xensource.com
20 years agoFix e820 array stack overflow
iap10@freefall.cl.cam.ac.uk [Wed, 17 Aug 2005 22:01:24 +0000 (22:01 +0000)]
Fix e820 array stack overflow
I don't see the problem on machine that I typically use, but I found and
fixed the problem on a big machine. It was causing a stack overflow. If
you look at the current code, it's a bit dangerous, see => part. This
patch fixes it.
From: "Nakajima, Jun" <jun.nakajima@intel.com>
Signed-off-by: ian@xensource.com
20 years agoWe found machines with >32 E820 memory map entries, where Xen fails to
kaf24@firebug.cl.cam.ac.uk [Wed, 17 Aug 2005 18:22:18 +0000 (18:22 +0000)]
We found machines with >32 E820 memory map entries, where Xen fails to
boot (but Linux does boot fine). The native Linux (both x86 and x86_86)
already has:

#define E820MAX 128             /* number of entries in E820MAP */

Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
20 years agoFix vmalloc_fault() path for x86/64 XenLinux.
kaf24@firebug.cl.cam.ac.uk [Wed, 17 Aug 2005 18:14:46 +0000 (18:14 +0000)]
Fix vmalloc_fault() path for x86/64 XenLinux.
There may be a deeper underlying problem w.r.t pagetable
initialisation at start of day, but this simple fix is
a good workaround until we have time to investigate
properly.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix the skbuff allocator for multi-page buffers.
kaf24@firebug.cl.cam.ac.uk [Wed, 17 Aug 2005 16:53:30 +0000 (16:53 +0000)]
Fix the skbuff allocator for multi-page buffers.
pci-dma.c still needs fixing to recognise contiguous
multi-page buffers.
Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFormatting cleanup.
kaf24@firebug.cl.cam.ac.uk [Wed, 17 Aug 2005 15:34:58 +0000 (15:34 +0000)]
Formatting cleanup.

20 years agohave a useful line reporting when IOMMU_BUG_ON trigger
vh249@arcadians.cl.cam.ac.uk [Wed, 17 Aug 2005 15:09:31 +0000 (15:09 +0000)]
have a useful line reporting when IOMMU_BUG_ON trigger

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
20 years agofix missing swiotlb.c file in linux build after running cleanup.
vh249@arcadians.cl.cam.ac.uk [Wed, 17 Aug 2005 14:23:16 +0000 (14:23 +0000)]
fix missing swiotlb.c file in linux build after running cleanup.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
20 years agoFix module build by removing duplicate EXPORT_SYMBOL of
kaf24@firebug.cl.cam.ac.uk [Wed, 17 Aug 2005 13:34:42 +0000 (13:34 +0000)]
Fix module build by removing duplicate EXPORT_SYMBOL of
dma_alloc_coherent and dma_free_coherent.

20 years agoAllocate_empty_lowmem_regions available to non-priv domains
kaf24@firebug.cl.cam.ac.uk [Wed, 17 Aug 2005 13:33:55 +0000 (13:33 +0000)]
Allocate_empty_lowmem_regions available to non-priv domains
and to modules. From Ross Mcilroy.

20 years agomerge
iap10@freefall.cl.cam.ac.uk [Wed, 17 Aug 2005 12:30:04 +0000 (12:30 +0000)]
merge

20 years agoAnother tweak to the network-bridge script.
iap10@freefall.cl.cam.ac.uk [Wed, 17 Aug 2005 12:29:34 +0000 (12:29 +0000)]
Another tweak to the network-bridge script.
Signed-off-by: ian@xensource.com
20 years agomerge?
cl349@firebug.cl.cam.ac.uk [Wed, 17 Aug 2005 12:26:05 +0000 (12:26 +0000)]
merge?

20 years agoRestore domains with a different uuid than they had.
cl349@firebug.cl.cam.ac.uk [Wed, 17 Aug 2005 12:25:50 +0000 (12:25 +0000)]
Restore domains with a different uuid than they had.
Needed for migration to localhost and migration between hosts with
a shared/distributed xenstore.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoPython build fix.
kaf24@firebug.cl.cam.ac.uk [Wed, 17 Aug 2005 10:35:39 +0000 (10:35 +0000)]
Python build fix.

20 years agoRecreate watches on domain restore.
cl349@firebug.cl.cam.ac.uk [Wed, 17 Aug 2005 10:18:34 +0000 (10:18 +0000)]
Recreate watches on domain restore.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoClear "/control/shutdown" node on domain restore.
cl349@firebug.cl.cam.ac.uk [Wed, 17 Aug 2005 10:18:13 +0000 (10:18 +0000)]
Clear "/control/shutdown" node on domain restore.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoxenbus build and license fixes.
kaf24@firebug.cl.cam.ac.uk [Wed, 17 Aug 2005 09:59:04 +0000 (09:59 +0000)]
xenbus build and license fixes.

20 years agoAdd support for XENSTORED_TRACE to enable trace output from xenstored.
cl349@firebug.cl.cam.ac.uk [Wed, 17 Aug 2005 09:50:26 +0000 (09:50 +0000)]
Add support for XENSTORED_TRACE to enable trace output from xenstored.
Set XENSTORED_TRACE in /usr/sbin/xenstored's environment to enable the
trace output.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoFix compile warning from zero-length printf format string.
cl349@firebug.cl.cam.ac.uk [Wed, 17 Aug 2005 08:52:04 +0000 (08:52 +0000)]
Fix compile warning from zero-length printf format string.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agomerge?
cl349@firebug.cl.cam.ac.uk [Wed, 17 Aug 2005 08:27:16 +0000 (08:27 +0000)]
merge?

20 years agoAvoid spurious "Ignoring shutdown request" messages, fix memory leak and simplif
cl349@firebug.cl.cam.ac.uk [Wed, 17 Aug 2005 08:26:58 +0000 (08:26 +0000)]
Avoid spurious "Ignoring shutdown request" messages, fix memory leak and simplif
y code.
Also fix whitespace.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoYet another work-around in the network-bridge script
iap10@freefall.cl.cam.ac.uk [Tue, 16 Aug 2005 20:00:53 +0000 (20:00 +0000)]
Yet another work-around in the network-bridge script
From: Zhai, Edwin [edwin.zhai@intel.com]
Signed-off-by: ian@xensource.com
20 years agoReally randomise MAC addresses for multi-VIF guests.
kaf24@firebug.cl.cam.ac.uk [Tue, 16 Aug 2005 19:38:22 +0000 (19:38 +0000)]
Really randomise MAC addresses for multi-VIF guests.
Reseeding on every VIF doesn;t work as timeofday doesn't
change quickly enough.

Signed-off-by: Jim Dykman <dykman@us.ibm.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoAdd a couple of well chosen assertions to new context
kaf24@firebug.cl.cam.ac.uk [Tue, 16 Aug 2005 18:12:19 +0000 (18:12 +0000)]
Add a couple of well chosen assertions to new context
switch code.
Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoFix context switching race which could cause vcpu_pause()
kaf24@firebug.cl.cam.ac.uk [Tue, 16 Aug 2005 18:02:24 +0000 (18:02 +0000)]
Fix context switching race which could cause vcpu_pause()
to not actually do its job properly. This requires us to
move clearing of VCPUF_running to be protected by the
scheduler lock.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoDon't bail early if we detect that time goes backwards.
cl349@firebug.cl.cam.ac.uk [Tue, 16 Aug 2005 17:02:49 +0000 (17:02 +0000)]
Don't bail early if we detect that time goes backwards.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agocleanup whitespace.
cl349@firebug.cl.cam.ac.uk [Tue, 16 Aug 2005 17:00:52 +0000 (17:00 +0000)]
cleanup whitespace.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agomerge?
cl349@firebug.cl.cam.ac.uk [Tue, 16 Aug 2005 16:34:46 +0000 (16:34 +0000)]
merge?

20 years agoOnly introduce domain to the store when we have store channel _and_ mfn.
cl349@firebug.cl.cam.ac.uk [Tue, 16 Aug 2005 16:34:04 +0000 (16:34 +0000)]
Only introduce domain to the store when we have store channel _and_ mfn.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoIn direct_remap_area_pages, reset w pointer for next loop after use.
cl349@firebug.cl.cam.ac.uk [Tue, 16 Aug 2005 16:33:12 +0000 (16:33 +0000)]
In direct_remap_area_pages, reset w pointer for next loop after use.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
20 years agoFix xtime_lock handling in timer interrupt. There's no need
kaf24@firebug.cl.cam.ac.uk [Tue, 16 Aug 2005 15:40:43 +0000 (15:40 +0000)]
Fix xtime_lock handling in timer interrupt. There's no need
to hold it while doing local VCPU work, and there might be
danger of deadlock if we do.

Signed-off-by: Keir Fraser <keir@xensource.com>
20 years agoUse a SWIOTLB to use pre-reserved bounce buffers for high memory
kaf24@firebug.cl.cam.ac.uk [Tue, 16 Aug 2005 11:20:47 +0000 (11:20 +0000)]
Use a SWIOTLB to use pre-reserved bounce buffers for high memory
and multi-page DMA accesses. This is based on a preliminary patch
from Suresh Siddha at Intel.

Signed-off-by: Keir Fraser <keir@xensource.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
20 years agoAdd grant table support to block tap.
akw27@arcadians.cl.cam.ac.uk [Tue, 16 Aug 2005 10:12:18 +0000 (10:12 +0000)]
Add grant table support to block tap.

This patch adds grant table support to the block tap.  The AIO support
introduced in patch 9f0eff879d8913a824280cf67658a530c80e8424 still
works -- The tap code maps a granted page twice, once in kernel and
once in user.  The kernel page is patched into the p2m table and pages
added to the user vm_area are mapped to the appropriate underlying
struct pages using the VM_FOREIGN hooks in get_user_pages().

Comparing block IO from dom0 to the existing block backend, and to the
tap managing the same partition as the BE from user space with AIO, I
get the following performance:

Version  1.03       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
xen0             2G 31198  95 56818   8 20967   2 28415  77 59595   4 264.9   0
xenU-blkbe2cpuGT 2G 31157  96 54026  10 25585   4 30664  90 64919   7 292.7   0
xenU-blktp2cpuGT 2G 32313  97 54217   8 20950   3 28117  87 65924   4 191.8   0

Signed-off-by: andrew.warfield@cl.cam.ac.uk
20 years agoDisable xenconsoled throttling for now.
kaf24@firebug.cl.cam.ac.uk [Tue, 16 Aug 2005 07:07:11 +0000 (07:07 +0000)]
Disable xenconsoled throttling for now.

20 years agoUnder the right circumstances, xenconsoled will corrupt its internal
kaf24@firebug.cl.cam.ac.uk [Tue, 16 Aug 2005 07:06:10 +0000 (07:06 +0000)]
Under the right circumstances, xenconsoled will corrupt its internal
list of domains causing a SEGV.  This is usually characterized by a
rapid number of creations/destructions.  The attached patch fixes this.

1) Fix uninitialized next pointer.  This could sometimes cause xenconsoled to
   SEGV on an invalid domain pointer
2) Fix race condition in iterating domain list where removing a domain in a
   callback could lead to the iterators becoming invalid.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
20 years agomerge
iap10@firebug.cl.cam.ac.uk [Tue, 16 Aug 2005 01:04:32 +0000 (01:04 +0000)]
merge

20 years agomerge
iap10@firebug.cl.cam.ac.uk [Tue, 16 Aug 2005 01:01:19 +0000 (01:01 +0000)]
merge

20 years agoTweaks to network-bridge script.
iap10@firebug.cl.cam.ac.uk [Mon, 15 Aug 2005 21:47:44 +0000 (21:47 +0000)]
Tweaks to network-bridge script.
Signed-off-by: ian@xensource.com
20 years agoEnable multi-word DMA mode 2 for the PIIX3 chipset
adsharma@los-vmm.sc.intel.com [Mon, 15 Aug 2005 20:50:38 +0000 (12:50 -0800)]
Enable multi-word DMA mode 2 for the PIIX3 chipset

Without this patch, Linux PIIX3 driver would see ultra DMA and get confused
and ended up disabling DMA.

With the patch, we're able to see 3x increase in disk read throughput.

Signed-off-by: Winston Wang <winston.l.wang@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
20 years agoDistinguish ioemu handled devices and para virtualized devices
adsharma@los-vmm.sc.intel.com [Mon, 15 Aug 2005 20:50:32 +0000 (12:50 -0800)]
Distinguish ioemu handled devices and para virtualized devices

Signed-off-by: Xiaofeng Ling <xiaofeng.ling@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
20 years agoDon't leave vncviewer processes running if xm create fails
adsharma@los-vmm.sc.intel.com [Mon, 15 Aug 2005 20:50:25 +0000 (12:50 -0800)]
Don't leave vncviewer processes running if xm create fails

Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
20 years agoPDB: watchpoints for process context
ach61@arcadians.cl.cam.ac.uk [Mon, 15 Aug 2005 19:04:28 +0000 (19:04 +0000)]
PDB: watchpoints for process context

20 years agoEnable magic sysrq in -xen x86_64 kernel
iap10@firebug.cl.cam.ac.uk [Mon, 15 Aug 2005 18:56:10 +0000 (18:56 +0000)]
Enable magic sysrq in -xen x86_64 kernel
Signed-off-by: ian@xensource.com
20 years agoUpdate x86_64 Linux kernels to add SMP to -xen and -xenU plus magic sysrq to all.
iap10@firebug.cl.cam.ac.uk [Mon, 15 Aug 2005 18:38:13 +0000 (18:38 +0000)]
Update x86_64 Linux kernels to add SMP to -xen and -xenU plus magic sysrq to all.

Signed-off-by: ian@xensource.com
20 years agoUpgrade to Linux 2.6.12.5 patch
vh249@arcadians.cl.cam.ac.uk [Mon, 15 Aug 2005 15:34:23 +0000 (15:34 +0000)]
Upgrade to Linux 2.6.12.5 patch

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
20 years agomerge
iap10@freefall.cl.cam.ac.uk [Mon, 15 Aug 2005 14:52:59 +0000 (14:52 +0000)]
merge

20 years agoQuieten down grant table code.
iap10@freefall.cl.cam.ac.uk [Mon, 15 Aug 2005 14:52:32 +0000 (14:52 +0000)]
Quieten down grant table code.
Signed-off-by: ian@xensource.com
20 years agoTrivial fixes for a couple of xenlinux compile warnings.
akw27@arcadians.cl.cam.ac.uk [Mon, 15 Aug 2005 13:50:39 +0000 (13:50 +0000)]
Trivial fixes for a couple of xenlinux compile warnings.

Signed-off-by: <andrew.warfield@cl.cam.ac.uk>
20 years agoAdd generic_page_range() -- generic page table operation.
akw27@arcadians.cl.cam.ac.uk [Mon, 15 Aug 2005 13:16:04 +0000 (13:16 +0000)]
Add generic_page_range() -- generic page table operation.

Linux has several instances of repeated code to do updates to a range
of PTEs.  Mapping memory between domains in Xen also tends to need to
do this quite frequently, to ensure page tables have been constructed
and to look up PTE addresses when making mapping-related hypercalls.
This patch adds a generic PTE walk-and-fill operation that takes a
function pointer to call on leaf entries.  direct_remap_area_pages()
is updated to use the new call, ass are abuses of
__direct_remap_area_pages.

This patch also introduces two new helper functions for working with
page tables when mapping memory between domains:
create_lookup_pte_addr() returns the machine address of a PTE,
allocating intermediate page tables as necessary.  touch_pte_range()
ensures that page tables exist for a virtual address range.

Many of the existing linux page table operations (e.g. zap/remap/etc)
could be modified to use this interface, which would potentially
shorten up mm/memory.c a bit.

20 years agoAdd a far more complete -xen config file for x86_64, based on FC3.
iap10@firebug.cl.cam.ac.uk [Mon, 15 Aug 2005 12:41:57 +0000 (12:41 +0000)]
Add a far more complete -xen config file for x86_64, based on FC3.
From: Chengyuan Li chengyuan.li@intel.com

NB: We should probably advertise the existence of the -xen configs. These are almost certainly what end-users should be using rather than -xen0 and -xenU, which are really for the convenience of developers.

Signed-off-by: ian@xensource.com
20 years agomerge
iap10@firebug.cl.cam.ac.uk [Mon, 15 Aug 2005 12:37:12 +0000 (12:37 +0000)]
merge

20 years agoSmall change to remove difference between Xen and mainline deactivate_mm.
vh249@arcadians.cl.cam.ac.uk [Mon, 15 Aug 2005 12:26:20 +0000 (12:26 +0000)]
Small change to remove difference between Xen and mainline deactivate_mm.
While there, cleanup prepare_arch_switch as well.  This generates
identical code.

Signed-off-by: Chris Wright <chrisw@osdl.org>
20 years agoAdd a few options to the Linux x86_64 domU config.
iap10@firebug.cl.cam.ac.uk [Mon, 15 Aug 2005 10:55:11 +0000 (10:55 +0000)]
Add a few options to the Linux x86_64 domU config.
Signed-off-by: ian@xensource.com
20 years agoJust a very simple patch that removes:
kaf24@firebug.cl.cam.ac.uk [Mon, 15 Aug 2005 07:52:34 +0000 (07:52 +0000)]
Just a very simple patch that removes:

rch/xen/x86_64/mm/init.c: In function `xen_init_pt':
arch/xen/x86_64/mm/init.c:560: warning: unused variable `old_level4

rch/xen/x86_64/kernel/apic.c: In function `smp_local_timer_interrupt':
arch/xen/x86_64/kernel/apic.c:48: warning: unused variable `cpu'

Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
20 years agoThe patch cleans up (ugly) setup.c that I wanted to fix for a long time
kaf24@firebug.cl.cam.ac.uk [Mon, 15 Aug 2005 07:52:19 +0000 (07:52 +0000)]
The patch cleans up (ugly) setup.c that I wanted to fix for a long time
(but did not have time for that).

It should be compiled for the native x86_64 Linux as well (but not
tested yet, so I don't guarantee):
- no #if 0 or comment out
- use CONFIG_XEN for xen specific code
- preparation for merge to the upstream
- tested both dom0 (UP and SMP) and domU

Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
20 years agoThe patch attached removes pda.h and asm_offset.c by deleting unused or
kaf24@firebug.cl.cam.ac.uk [Mon, 15 Aug 2005 07:51:58 +0000 (07:51 +0000)]
The patch attached removes pda.h and asm_offset.c by deleting unused or
unnecessary variables (that were used for old codes).

Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
20 years agoFix special backptr values on x86/64 to avoid spurious
kaf24@firebug.cl.cam.ac.uk [Mon, 15 Aug 2005 07:45:42 +0000 (07:45 +0000)]
Fix special backptr values on x86/64 to avoid spurious
wrpt emulations.
Signed-off-by: Keir Fraser <keir@xensource.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>